﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BAL.EstRec.FDVTotalRecurso;
using BAL.EstRec.FDVIndicador;

namespace BAL.EstRec.FDVTotal
{
    public class ModelCapFdvTotales
    {
        public CapFDVTotalRecursoCollection entry;

        public ModelCapFdvTotales(ModelCapFdvIndicador m)
        {
            this.entry = new CapFDVTotalRecursoCollection();
            if (m != null)
            {
                CapFDVTotalRecurso cr = this.calculateTotal(m);
                this.entry.Add( new CapFDVTotalRecurso(new Recurso("timpTotal", ""),cr.TiempoImplementacion,0,0,0) );
                this.entry.Add(new CapFDVTotalRecurso(new Recurso("visitasTotal", ""), 0, cr.VisitasSugeridas, 0, 0));
                this.entry.Add(new CapFDVTotalRecurso(new Recurso("numRecursos", ""), 0, 0, 0, cr.NumRecursos));
                this.entry.Add(new CapFDVTotalRecurso(new Recurso("NumIniciativas", ""), 0, 0, cr.NumIniciativas, 0));
            }
        }

        public CapFDVTotalRecurso calculateTotal(ModelCapFdvIndicador m)
        {
            CapFDVTotalRecurso cr ;

            try
            {
                var tiempoImplementacion = m.entry.Sum(o => o.TiempoImplementacion);
                var visitasSugeridas = m.entry.Sum(o => o.VisitasSugeridas);
                //var numeroRecursos = m.entry.Sum(o => o.NumRecursos);
                //var numeroIniciativas = m.entry.Sum(o => o.NumIniciativas);
                //cr = new CapFDVTotalRecurso(new Recurso("res", "res"), tiempoImplementacion, visitasSugeridas, numeroIniciativas, numeroRecursos);
                cr = new CapFDVTotalRecurso(new Recurso("res", "res"), tiempoImplementacion, visitasSugeridas, 0, 0);
            }
            catch (Exception ex)
            {
                cr = null;
            }
            
            return cr;
        }
    }
}
